Methods, systems, and media for presenting media content

ABSTRACT

Methods, systems, and media for presenting media content are provided. In some embodiments, the method comprises: receiving, at a streaming media device connected to a display device, an instruction, from a mobile phone communicatively coupled with the streaming media device using a peer-to-peer networking protocol, to launch an application for presenting media content on the display device; in response to receiving the instruction, transmitting a request to a media content sharing service associated with the application for presenting media content to render a video player on the display device; receiving, from the mobile phone, an instruction to present a media content item on the display device using the video player; transmitting, to the mobile phone, a request for a first portion of the media content item, wherein a plurality of portions of the media content item including the first portion have been previously downloaded to the mobile phone; receiving, from the mobile phone, the first portion of the media content item using the peer-to-peer networking protocol; storing the first portion of the media content item in memory of the streaming media device; and causing the first portion of the media content item to be presented on the display device using the video player by playing the stored first portion of the media content item from the memory of the streaming media device.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication No. 62/733,030, filed Sep. 18, 2019, which is incorporatedby reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forpresenting media content.

BACKGROUND

Many users are interested in viewing media content, such as videos,television programs, movies, etc. that are selected on a mobile device,such as a smartphone, on a television device or other display device.For example, a user may want to select a particular media content item,such as a video, on the user's phone, and view the selected mediacontent item on the user's television. In some cases, the mobile phoneand the television may both be connected to a communication network,such as a Wi-Fi network in the user's home. However, in other cases, aWi-Fi access point may not be accessible for the television (or to astreaming media device connected to the television), which can make itdifficult for the television device to play a selected media contentitem. In other cases, the television or streamlining media device mayhave a network connection, but the connection may be unreliable. Thiscan be a particular issue in some rural areas, which often have sparseand/or unreliable communication networks.

Accordingly, it is desirable to provide new methods, systems, and mediafor presenting media content.

SUMMARY

Methods, systems, and media for presenting media content are provided.

In accordance with some embodiments of the disclosed subject matter, amethod for presenting media content is provided, the method comprising:receiving, at a streaming media device connected to a display device, aninstruction, from a mobile phone communicatively coupled with thestreaming media device using a peer-to-peer networking protocol, tolaunch an application for presenting media content on the displaydevice; in response to receiving the instruction, transmitting a requestto a media content sharing service associated with the application forpresenting media content to render a video player on the display device;receiving, from the mobile phone, an instruction to present a mediacontent item on the display device using the video player; transmitting,to the mobile phone, a request for a first portion of the media contentitem, wherein a plurality of portions of the media content itemincluding the first portion have been previously downloaded to themobile phone; receiving, from the mobile phone, the first portion of themedia content item using the peer-to-peer networking protocol; storingthe first portion of the media content item in memory of the streamingmedia device; and causing the first portion of the media content item tobe presented on the display device using the video player by playing thestored first portion of the media content item from the memory of thestreaming media device.

By presenting content in this way, issues due to poor or non-existentnetwork connections can be reduced. For example, media content items maybe previously downloaded over a long period of time, or downloaded overa different connection at another location, and then presented to thedisplay device connected to the streaming media device (which may be astandalone device or may be embedded within a television) without thebandwidth and connection requirements typically required for streamingcontent (such as music or videos) from a content provider or contentsharing service. Access to content can therefore be improved without theneed for fast and/or reliable network connections.

In some embodiments, the request to the media content sharing service istransmitted from the mobile phone. In some embodiments, the streamingmedia device may transmit a request to the mobile phone, in response toreceiving the instruction, to cause the mobile phone to transmit therequest to the media content sharing service to render a video player onthe display device.

In some embodiments, the request to the media content sharing service istransmitted using an HTTP proxy server executing on the mobile phone.

In some embodiments, the method further comprises receiving HTTP proxyserver identifier information from the mobile phone and connecting tothe HTTP proxy server executing on the mobile phone prior to receivingthe instruction to launch the application.

In some embodiments, the peer-to-peer networking protocol is a wirelessfidelity (WiFi) direct protocol.

In some embodiments, the instruction to present the media content itemis received via a selection of an indication of the media content itemvia a user interface presented on the display device, wherein the userinterface presents indications of a plurality of media content itemspreviously stored on the mobile phone that are available forpresentation on the display device.

In some embodiments, determining an amount of storage space available inthe memory of the streaming media device, wherein the first portion ofthe media content item is inhibited from being stored in the memory ofthe streaming media device based on the determination.

In some embodiments, the method further comprises: transmitting aninstruction to the mobile phone to retrieve an update file correspondingto an operating system executing on the streaming media device;receiving, from the mobile phone, the update file using the peer-to-peernetworking protocol; storing the update file in the memory of thestreaming media device; and executing the update file from the memory ofthe streaming media device that causes the operating system of thestreaming media device to be updated.

In some embodiments, the portions of the media content item previouslydownloaded to the mobile phone are portions of a media content itemassociated with the media content sharing service. The portions of themedia content item may have been previously downloaded from the mediacontent sharing service at an earlier time, or downloaded and at leasttemporarily stored at the mobile phone as part of a current streamingoperation performed at the mobile phone, in which content is streamedfrom the media content sharing service. It will be understood thatdownloading and temporarily storing the media content item (i.e.buffering the media content item at the mobile phone whilst streaming)can help facilitate access to content in cases where a Wi-Fi accesspoint may not be accessible to the streaming media device. Downloadingthe media content item at a previous period of time (i.e. an hourbefore, the day before, the week before, etc.) can help facilitateaccess to content in cases where a network connection is available tothe streaming media device, but that connection is unreliable or slow.Using previously downloaded content, in either scenario, can reducelatency in the current presentation of the media content.

In some embodiments, the method further comprises, prior to transmittingthe request for a first portion of the media content: downloading atleast some of the plurality of portions of the media content itemincluding the first portion to the mobile phone. Optionally, thedownloading comprises downloading the portions of the media content itemfrom any suitable source, optionally, from the media content sharing (orstreaming) service. The downloading can be at a previous point in timeduring a separate download operation (in which case all of the mediacontent item may be downloaded and stored at the mobile phone), or aspart of a current streaming operation (in which case the downloading canbe part of a buffering process, and only some of the portions of themedia content may be downloaded and stored at the mobile phone at anyone time). The first portion of the media content item is thus contentthat has been previously downloaded, i.e. that has been downloaded tothe mobile phone before being transmitted from the mobile phone to thestreaming media device (as compared to content generated on or at thephone).

In accordance with some embodiments of the disclosed subject matter, asystem for presenting media content is provided, the system comprising amemory and a hardware processor of a streaming media device that isconfigured to: receive, at a streaming media device connected to adisplay device, an instruction, from a mobile phone communicativelycoupled with the streaming media device using a peer-to-peer networkingprotocol, to launch an application for presenting media content on thedisplay device; in response to receiving the instruction, transmit arequest (optionally via the mobile phone) to a media content sharingservice associated with the application for presenting media content torender a video player on the display device; receive, from the mobilephone, an instruction to present a media content item on the displaydevice using the video player; transmit, to the mobile phone, a requestfor a first portion of the media content item, wherein a plurality ofportions of the media content item including the first portion have beenpreviously downloaded to the mobile phone; receive, from the mobilephone, the first portion of the media content item using thepeer-to-peer networking protocol; store the first portion of the mediacontent item in memory of the streaming media device; and cause thefirst portion of the media content item to be presented on the displaydevice using the video player by playing the stored first portion of themedia content item from the memory of the streaming media device.

In accordance with some embodiments of the disclosed subject matter,computer program product or a non-transitory computer-readable mediumcontaining computer executable instructions that, when executed by aprocessor, cause the processor to perform a method for presenting mediacontent is provided, the method comprising: receiving, at a streamingmedia device connected to a display device, an instruction, from amobile phone communicatively coupled with the streaming media deviceusing a peer-to-peer networking protocol, to launch an application forpresenting media content on the display device; in response to receivingthe instruction, transmitting a request to a media content sharingservice associated with the application for presenting media content torender a video player on the display device; receiving, from the mobilephone, an instruction to present a media content item on the displaydevice using the video player; transmitting, to the mobile phone, arequest for a first portion of the media content item, wherein aplurality of portions of the media content item including the firstportion have been previously downloaded to the mobile phone; receiving,from the mobile phone, the first portion of the media content item usingthe peer-to-peer networking protocol; storing the first portion of themedia content item in memory of the streaming media device; and causingthe first portion of the media content item to be presented on thedisplay device using the video player by playing the stored firstportion of the media content item from the memory of the streaming mediadevice. The instructions may also cause the processor perform anyembodiment of the method described herein.

In accordance with some embodiments of the disclosed subject matter, asystem for presenting media content is provided, the system comprising:means for receiving, at a streaming media device connected to a displaydevice, an instruction, from a mobile phone communicatively coupled withthe streaming media device using a peer-to-peer networking protocol, tolaunch an application for presenting media content on the displaydevice; means for transmitting a request to a media content sharingservice associated with the application for presenting media content torender a video player on the display device in response to receiving theinstruction; means for receiving, from the mobile phone, an instructionto present a media content item on the display device using the videoplayer; means for transmitting, to the mobile phone, a request for afirst portion of the media content item, wherein a plurality of portionsof the media content item including the first portion have beenpreviously downloaded to the mobile phone; means for receiving, from themobile phone, the first portion of the media content item using thepeer-to-peer networking protocol; means for storing the first portion ofthe media content item in memory of the streaming media device; andmeans for causing the first portion of the media content item to bepresented on the display device using the video player by playing thestored first portion of the media content item from the memory of thestreaming media device. The system may also comprise means forperforming any embodiment of the method described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIG. 1 shows an example of an information flow diagram for transferringmedia content to a streaming media device and presenting media contentusing the streaming media device in accordance with some embodiments ofthe disclosed subject matter.

FIG. 2 shows an example of a process for transferring media content to astreaming media device and presenting media content using the streamingmedia device in accordance with some embodiments of the disclosedsubject matter.

FIGS. 3A-3D show examples of user interfaces for pairing a mobile deviceand a streaming media device and transferring media content from themobile device to the streaming media device.

FIG. 4 shows an example of a user interface that can be presented on adisplay device connected to a streaming media device that indicatesavailable media content for presentation in accordance with someembodiments of the disclosed subject matter.

FIG. 5 shows a schematic diagram of an illustrative system suitable forimplementation of mechanisms described herein for presenting mediacontent in accordance with some embodiments of the disclosed subjectmatter.

FIG. 6 shows a detailed example of hardware that can be used in a serverand/or a user device of FIG. 5 in accordance with some embodiments ofthe disclosed subject matter.

DETAILED DESCRIPTION

In accordance with various embodiments, mechanisms (which can includemethods, systems, and media) for presenting media content are provided.

In some embodiments, the mechanisms described herein can be used tocause media content to be presented on a display device connected to astreaming media device. In some embodiments, the streaming media devicecan be any suitable device, such as a storage device or dongle connectedto the display device in any suitable manner (e.g., via an HDMIconnection, and/or in any other suitable manner). In some embodiments,the media content presented on the display device can be any suitabletype of media content, such as videos, television programs, movies,photos, slideshows, documents, audio content, and/or any other suitabletype of media content.

In some embodiments, the media content can be presented on the displaydevice connected to the streaming media device via a mobile device(e.g., a mobile phone, a tablet computer, a wearable computer, a laptopcomputer, and/or any other suitable type of mobile device) that ispaired with the streaming media device. For example, in someembodiments, the mobile device and the streaming media device can bepaired using any suitable peer-to-peer networking connection (e.g., WiFiDirect, WiFi Aware, and/or any other suitable type of peer-to-peernetworking connection). In some such embodiments, media content can betransferred to the streaming media device from the mobile device via thepeer-to-peer networking connection. For example, in some embodiments,the media content can be media content that has been stored on themobile device and is transferred to the streaming media device forpresentation on the connected display device. As a more particularexample, in some embodiments, the media content can be user-generatedmedia content stored on and/or media content generated on the mobiledevice, such as photos and/or videos captured on the mobile device,documents generated on the mobile device, and/or any other suitablemedia content. As another more particular example, in some embodiments,the media content can be media content that was downloaded to the mobiledevice from any suitable source, such as a media content sharing and/orstreaming service, from another user device, and/or from any othersuitable source. In some embodiments, by transferring media contentstored on the mobile device and/or previously downloaded to the mobiledevice, the mechanisms described herein can allow a user to causepresentation of media content on the display device connected to thestreaming media device without requiring a WiFi access point for thestreaming media device. In particular, in some embodiments, themechanisms can allow a user to download media content to the mobiledevice (e.g., using a cellular network, using a WiFi network, and/or inany other suitable manner) and transfer the downloaded media content tothe streaming media device for presentation on the display device at alater time.

In some embodiments, any internet connection to be used by the streamingmedia device (e.g., to request keys and/or permission to presentprotected or encrypted content, to stream media content from a server,and/or for any other suitable purpose) can be provided by the mobiledevice. For example, in some embodiments, the mobile device can beconfigured to execute an HTTP proxy server, which can be used by thestreaming media device as a hotspot to connect to a server (e.g., aserver associated with a media content sharing and/or streamingservice). In some such embodiments, access to a network via an HTTPproxy server executing on the mobile device can allow the streamingmedia device to request and/or receive any suitable information or mediacontent for rendering the media content stored on the mobile devicewithout access to a WiFi access point. For example, the streaming mediadevice may request and/or receive permissions or access credentials formedia content downloaded or streamed from certain media contentstreaming or sharing services, and/or information regarding the relevantcodecs for playing the media content item. Access to content maytherefore be improved.

Turning to FIG. 1, an example 100 of an information flow diagram fortransferring media content to a streaming media device from a mobiledevice is shown in accordance with some embodiments of the disclosedsubject matter. As illustrated, in some embodiments, blocks of process100 can be executed on a mobile device, a streaming media deviceconnected to a display device, and/or a server. Note that, in someembodiments, the streaming media device can be a device that isconnected to any suitable display device (e.g., a television, aprojector, and/or any other suitable type of display device) in anysuitable manner (e.g., via an HDMI connection, and/or in any othersuitable manner).

At 102, the mobile device can initialize a connection to the streamingmedia device. For example, in some embodiments, the mobile device caninitialize a communication channel that communicatively couples themobile device and the streaming media device, such as a peer-to-peerconnection (e.g., a WiFi Direct connection, a WiFi Aware connection,and/or any other suitable type of connection). As a more particularexample, in some embodiments, the mobile device can initialize a WiFiDirect or WiFi Aware connection with the streaming media device usingany suitable API(s) to initialize the WiFi Direct or WiFi Awareconnection and retrieve a Service Set Identifier (SSID) and passphraseassociated with the WiFi Direct or WiFi Aware connection. In someembodiments, the mobile device can then transmit the SSID (e.g.,transmitted by the mobile device using beacons, and/or in any othersuitable manner), which can be detected by the streaming media device.

As another example, in some embodiments the mobile device can initializean HTTP proxy server that can execute on the mobile device. As a moreparticular example, in some such embodiments, the mobile device cantransmit a multicast DNS (mDNS) message that can indicate any suitableinformation, such as an IP address associated with the mobile device,and/or any other suitable information. In some such embodiments, thestreaming media device can access the internet via the HTTP proxy serverexecuting on the mobile device, as described below in more detail.

Note that, in some embodiments, the mobile device can initialize theconnection to the streaming media device based on any suitableinformation. For example, in some embodiments, the mobile device caninitialize the connection in response to receiving an indication thatthe connection to the streaming media device is to be initialized via auser interface presented on the mobile device. Turning to FIGS. 3A and3B, examples 300 and 320 of user interfaces for initializing connectionsto the streaming media device are shown in accordance with someembodiments of the disclosed subject matter. As illustrated in FIG. 3A,user interface 300 can include a selectable input 302 that, whenselected, can begin a device discovery process that identifies nearbydisplay devices connected to nearby streaming media devices. In someembodiments, user interface 320 can be presented in response to themobile device detecting one or more nearby display devices eachconnected to one or more nearby streaming media devices. For example, asillustrated in FIG. 3B, user interface 320 can indicate detected displaydevices (e.g., “living room television,” “bedroom television,” and/orany other suitable detected devices). In some such embodiments, anindication 322 of a detected device can be a selectable input that, whenselected, causes the mobile device to begin transmitting any suitableinformation (e.g., an SSID and/or passphrase, an mDNS message, and/orany other suitable information as described above) that can be detectedby a streaming media device connected to an indicated display device.

Referring back to FIG. 1, at 104, the streaming media device can connectto the mobile device and/or to the internet via the initializedconnection. For example, in some embodiments, the streaming media devicecan establish a WiFi Direct or WiFi Aware connection with the mobiledevice using the SSID and/or passphrase transmitted by the mobiledevice. As another example, in some embodiments, the streaming mediadevice can connect to the internet using the HTTP proxy server executingon the mobile device using information included in the mDNS message.

At 106, the mobile device can present any suitable indication that themobile device and the streaming media device and/or a display deviceconnected to the streaming media device have been paired. For example,in some embodiments, the mobile device can present a user interface (notshown) that states “you are connected to the living room television,”and or any other suitable message. In some embodiments, the indicationcan include information indicating that the mobile device and thestreaming media device have successfully established a communicationchannel between the mobile device and the streaming media device, thatthe streaming media device can now access the internet via the mobiledevice (e.g., via an HTTP proxy server executing on the mobile device,and/or in any other suitable manner), and/or any other suitableinformation.

At 108, the mobile device can present indications of media contentavailable for transfer to the streaming media device for presentation ona display device connected to the streaming media device. In someembodiments, the available media content can include any suitable typeof media content. For example, in some embodiments, the media contentcan include user-generated media content that is stored on the mobiledevice. As a more particular example, in some embodiments, theuser-generated media content can include photos captured by a cameraassociated with the mobile device, documents (e.g., text documents,slideshows, and/or any other suitable type(s) of documents) stored onthe mobile device, videos captured by a camera associated with themobile device, animations or other graphics generated by the mobiledevice, and/or any other suitable type of content. As another example,in some embodiments, the media content can include media contentpreviously downloaded to the mobile device. As a more particularexample, in some embodiments, the media content can include videocontent (e.g., videos, movies, television programs, and/or any othersuitable type of video content) and/or audio content (e.g., music,audiobooks, radio programs, podcasts, and/or any other suitable type ofaudio content) downloaded to the mobile device from any suitable source(e.g., another user device, from a media content sharing or streamingservice, and/or from any other suitable source).

In some embodiments, the mobile device can present the indications ofavailable content in any suitable manner. For example, in someembodiments, the mobile device can present an indication of a number ofmedia content items available on the mobile device (e.g., a number ofitems available for transfer to the streaming media device, and/oravailable in any other suitable manner). Turning to FIG. 3C, an example350 of a user interface for presenting media content available fortransfer to the streaming media device is shown in accordance with someembodiments of the disclosed subject matter. As illustrated, in someembodiments, user interface 350 can include a first selectable input 352that, when selected, causes all media content items stored on the mobiledevice and/or all media content items stored in a particular folder ofthe mobile device to be transferred to the streaming media device. Insome embodiments, first selectable input 352 can include an indicationof a total number of media content items available for transfer to thestreaming media device. Additionally or alternatively, in someembodiments, user interface 350 can include a second selectable input354 that, when selected, can allow a user of user interface 350 toselect a subset of the media content items available for transfer to thestreaming media device.

Note that, in some embodiments, the indications of available content cancorrespond to media content that is available for streaming from a mediacontent sharing and/or streaming service by the streaming media devicerather than media content that is currently stored on the mobile device.In some such embodiments, the indications of available content can bepresented in any suitable manner. For example, in some embodiments, theindications of available content can be indications of media contentitems that are available for streaming by the streaming media device tothe display device connected to the streaming media device via a mediacontent sharing and/or streaming service. As a more particular example,in some embodiments, the indications of available media content can bepresented within an application associated with the media contentsharing and/or streaming service that hosts the available media content.Note that, in instances where the indications of available media contentcorresponds to media content that is to be streamed from a media contentsharing and/or streaming service, the media content can be streamed viathe mobile device to the streaming media device, for example, by thestreaming media device connecting to the internet to receive contentfrom the service via an HTTP proxy server executing on the mobiledevice, as described below in more detail in connection with block 112.In other words, portions of the media content item to be streamed aredownloaded and stored on the mobile phone temporarily as part of abuffering process of the during the streaming operation.

In some embodiments, selection of selectable input 354 can cause userinterface 370 of FIG. 3D to be presented. In some embodiments, userinterface 370 can include any suitable indications of available mediacontent items, such as a group of thumbnail images (such as thumbnail372) each representing an available media content item, as illustratedin FIG. 3D. In some embodiments, each thumbnail can be selected, and anindication of selection (e.g., a check mark 374) can be presented inresponse to a user selecting a particular thumbnail. In someembodiments, an indication of an available media content item caninclude any suitable information, such as an image associated with themedia content item, a name of the media content item, a date associatedwith the media content item (e.g., a date of creation, a date the mediacontent item was downloaded, and/or any other suitable date), episodeinformation, a size of the media content item, and/or any other suitableinformation. Note that, although the indications of available mediacontent item are shown in FIG. 3D as thumbnail images, in someembodiments, indications can be presented in any suitable manner, suchas a list of file names of the media content items, and/or any othersuitable manner.

Referring back to FIG. 1, at 110, the mobile device can cause selectedmedia content items to be transferred to the streaming media device. Forexample, referring to FIG. 3D, the mobile device can cause media contentitems corresponding to thumbnail 372 and thumbnail 376 to be transferredto the streaming media device. In some embodiments, the mobile devicecan cause the selected media content items to be transferred to thestreaming media device in any suitable manner and using any suitabletechnique(s). For example, in some embodiments, files corresponding tothe selected media content items can be transferred via the peer-to-peernetworking connection (e.g., a WiFi Direct connection, a WiFi Awareconnection, and/or any other suitable peer-to-peer networkingconnection) established between the mobile device and the streamingmedia device, as described above in connection with blocks 102 and 104.

Note that, in some embodiments, the mobile device can be configured toautomatically synchronize and transmit particular media content items tothe streaming media device. For example, in some embodiments, the mobiledevice can be configured to automatically transmit user-generatedvideos, downloaded media content items associated with a particularmedia content streaming service, and/or any other suitable type of mediacontent items to the streaming media device in response to detectingthat the streaming media device has been detected by the mobile device.In some such embodiments, the mobile device can transmit media contentitems that have not previously been transmitted to the streaming mediadevice at 110 rather than transmitting selected media content items.

At 112, the streaming media device can receive the selected content overthe peer-to-peer networking protocol. In some embodiments, streamingmedia device can store the received content in any suitable manner. Forexample, in some embodiments, the streaming media device can store thereceived content in memory of the streaming media device for laterpresentation on the display device connected to the streaming mediadevice. In some embodiments, the streaming media device can present anysuitable indication that the selected content has been received. Forexample, in some embodiments, the streaming media device can cause auser interface to be presented on the display device that indicates thereceived media content items, as shown in user interface 400 of FIG. 4.As illustrated in FIG. 4, user interface 400 can include indications ofreceived media content items 402, each of which can correspond to amedia content item transferred from the mobile device at block 110. Insome embodiments, the indications of received media content items caninclude any suitable information or content, such as a thumbnail imageassociated with the media content item, a name of the media contentitem, a name of a creator of the media content item, and/or any othersuitable information. In some embodiments, each indication of a receivedmedia content item can be a selectable input that, when selected, causespresentation of the corresponding media content item to begin on thedisplay device, as described below in connection with blocks 114 and118.

Note that, in instances where the media content to be presented on thedisplay device connected to the streaming media device is to be streamedfrom a media content sharing and/or streaming service, the streamingmedia device can receive the media content item to be streamed from theservice via an HTTP proxy server executing on the mobile device. Thatis, rather than communicating with the service via a WiFi access point,the streaming media device can communicate with the service via the HTTPproxy server to request and/or receive the media content item. In somesuch embodiments, the streaming media device can receive datacorresponding to the media content from the mobile device (that is, viathe HTTP proxy server) at 112 and can store the received data in abuffer or other temporary location on the streaming media device as themedia content item is being presented on the display device connected tothe streaming media device.

At 114, the streaming media device can receive a selection of a mediacontent item stored on the streaming media device (e.g., a media contentitem received by the streaming media device at 112 and/or a mediacontent item previously received by the streaming media device) and canrequest permission to present the selected media content item. In someembodiments, the streaming media device can receive the selection of themedia content item in any suitable manner. For example, in someembodiments, the streaming media device can receive the selection of themedia content item via a remote control device associated with thestreaming media device. As another example, in some embodiments, thestreaming media device can receive the selection of the media contentitem via the mobile device.

In some embodiments, the streaming media device can request permissionto present the selected media content item. For example, in instanceswhere the selected media content item is a media content item downloadedby the mobile device from a media content sharing or streaming service,the streaming media device can request permission to present theselected media content item on the display device connected to thestreaming media device from the media content sharing or streamingservice. In some embodiments, the streaming media device can requestpermission using any suitable information and using any suitabletechnique(s). For example, in some embodiments, the streaming mediadevice can transmit a message to a server associated with the mediacontent sharing or streaming service that includes any suitableinformation, such as information associated with a user accountcorresponding to the service that was used by the mobile device todownload the media content item (e.g., a username associated with theuser account, a password associated with the user account, and/or anyother suitable information), an identifier of the selected media contentitem, an identifier of the mobile device, and/or any other suitableinformation. As another example, in some embodiments, the streamingmedia device can receive any suitable keys required for decryption ofthe selected media content item from the server in response to a requesttransmitted to the server. Note that, in instances where a message istransmitted to the server associated with the media content sharing orstreaming service and/or in instances where a message is received fromthe server associated with the media content sharing or streamingservice, the messages can be transmitted and/or received in any suitablemanner. In some embodiments, the mobile phone can receive a request fromthe streaming media device and transmit said request to the mediacontent sharing/streaming service. For example, in some embodiments, themessages can be transmitted between the streaming media device and theserver using a communication network associated with the HTTP proxyserver executing on the mobile device, as described above in connectionwith blocks 102 and 104.

At 116, the server associated with the media content sharing orstreaming service can grant permission to the streaming media device tocause the selected media content item to be presented on the displaydevice. In some embodiments, as described above in connection with block114, in some embodiments, the server can transmit any suitable key(s)required to decrypt the selected media content item.

Note that, in some embodiments, the streaming media device may notrequire permission to present the selected media content item. Forexample, in instances where the selected media content item correspondsto user-generated media content (e.g., a video recorded by the mobiledevice, a document created on the mobile device, and/or any othersuitable user-generated content), or content generated by another userwhich is hosted on a media content sharing service, the streaming mediadevice may not require permission to present the selected content. Insome such embodiments, blocks 114 and 116 can be omitted.

At 118, the streaming media device can cause the selected media contentitem to be presented on the display device connected to the streamingmedia device. In some embodiments, the streaming media device can causethe selected media content item to be presented in any suitable manner.For example, in some embodiments, video content and/or audio contentassociated with the media content item can be presented by a display ofthe display device and/or speakers of the display device, respectively.In some embodiments, playback of the selected media content item can bemanipulated in any suitable manner, for example, via a remote controldevice associated with the streaming media device. As a more particularexample, in some embodiments, a playback position of the media contentitem can be changed (e.g., a viewer of the media content item canfast-forward or rewind the media content item, and/or change theplayback position in any other suitable manner). More detailedtechniques for manipulating a playback position of the media contentitem are described below in connection with block 212 of FIG. 2.

Turning to FIG. 2, an example 200 of a process for receiving mediacontent by a streaming media device and causing the media content to bepresented on a display device connected to the streaming media device isshown in accordance with some embodiments of the disclosed subjectmatter. In some embodiments, process 200 can be executed by a streamingmedia device.

Process 200 can begin at 202 by receiving information to be used toconnect to a mobile device and/or to connect to the internet via themobile device. For example, as described above in connection with blocks102 and 104 of FIG. 1, in some embodiments, the information can includeinformation for establishing a peer-to-peer networking connectionbetween the streaming media device and the mobile device (e.g., a WiFiDirect connection, a WiFi Aware connection, and/or any other suitabletype of connection), such as an SSID and/or passphrase, and/or any othersuitable information. As another example, as described above inconnection with blocks 102 and 104 of FIG. 1, in some embodiments, theinformation can include information for connecting to the internet viaan HTTP proxy server executing on the mobile device, such as a mDNSmessage that indicates an IP address of the mobile device, and/or anyother suitable information. In some embodiments, the streaming mediadevice can, in response to receiving the information, establish aconnection to the mobile device and/or to the internet via the mobiledevice, as described above in connection with block 104 of FIG. 1.

At 204, process 200 can receive, from the mobile device, an indicationor instruction to launch an application for presenting media content. Insome embodiments, the indication can be received in any suitable manner,for example, via a peer-to-peer networking connection establishedbetween the mobile device and the streaming media device, as describedabove in connection with block 202. In some embodiments, the applicationfor presenting media content can be any suitable application. Forexample, in some embodiments, the application can be a default videoplayer, image viewer, or document viewer suitable for viewing aparticular file type or type of media content (e.g., videos, images,text documents, and/or any other suitable type of media content). Asanother example, in some embodiments, the application can be associatedwith a particular media content sharing or streaming service. As a moreparticular example, in some embodiments, the application can be anapplication suitable for viewing media content hosted by the mediacontent sharing or streaming service that has been previously downloadedand/or that is to be streamed by the streaming media device. In someembodiments, the application can be determined in any suitable manner,for example, based on the media content item selected for presentationon a display device connected to the streaming media device by a user ofthe mobile device, as described above in connection with block 110 ofFIG. 1.

At 206, process 200 can request content associated with the indicatedapplication from a server associated with the indicated application. Therequest can be in response to receiving the instructions, and can betransmitted to the media content sharing service. For example, ininstances where the application is an application for presenting mediacontent associated with a particular media content sharing and streamingservice, process 200 can request the content associated with theindicated application from a server associated with the service. In someembodiments, the content can include any suitable content, such as dataand/or instructions for rendering a video player window associated withthe application, and/or any other suitable type of content. Therequested content may also include a request for one or more permissionsfor presenting the media content. In some embodiments, process 200 canrequest the content associated with the application from the serverusing any suitable technique. The request may be sent directly to theserver by the streaming media device; the bandwidth requirementsassociated with such a request can be small as compared to the bandwidthrequirements for downloading the media content item, so such a requestmay be transmitted directly from the streaming media device, even if thenetwork connection is slow and/or unreliable. In other embodiments, thestreaming media device may transmit a request to the mobile phone, inresponse to receiving the instruction or indication, to cause the mobilephone to transmit the request to the media content sharing service torender a video. In this case, the request to the media content sharingservice is transmitted via the mobile phone, which may help provideaccess to content when there is no network connection associated withthe streaming media device. For example, in some embodiments, process200 can transmit a message to the server via a communication networkcorresponding to the HTTP proxy server executing on the mobile device,as described above in connection with block 202.

Note that, in some embodiments, block 206 can be omitted. For example,in instances where the application has been previously launched by thestreaming media device, process 200 can access previously receivedcontent associated with the application.

At 208, process 200 can receive one or more media content items from themobile device. For example, as described above in connection with blocks110 and 112 of FIG. 1, in some embodiments, the received one or moremedia content items can be media content items that were previouslydownloaded to the mobile device from the media content sharing orstreaming service at an earlier time of time. As another example, insome embodiments, the received one or more media content items can bemedia content items that were stored on the mobile device and/or thatwere generated on the mobile device (e.g., videos or pictures capturedby the mobile device, documents created on the mobile device, and/or anyother suitable type of media content items). As yet another example, insome embodiments, the one or more media content items can include amedia content item that is to be streamed from a media content sharingor streaming service to the streaming device (via the mobile phone) andpresented on the display device connected to the streaming media deviceand so is downloaded and stored in a buffer at the mobile phone duringthe streaming process. In some such embodiments, data corresponding tothe media content item that is to be streamed can be received bystreaming media device via an HTTP proxy server executing on the mobiledevice from a server associated with the media content sharing orstreaming service. In some embodiments, process 200 can receive the oneor more media content items via the peer-to-peer networking connection(e.g., a WiFi Direct connection, a WiFi Aware connection, and/or anyother suitable type of connection), as described above in connectionwith block 202.

In some embodiments, process 200 can cause the received one or moremedia content items to be stored in memory of the streaming mediadevice. In some such embodiments, the one or more media content itemscan be presented on the display device connected to the streaming mediadevice in an offline mode, for example, if the peer-to-peer networkingconnection between the mobile device and the streaming media device isterminated and/or if the HTTP proxy server executing on the mobiledevice used by the streaming media device to access the internet isterminated. Additionally or alternatively, in some embodiments, ininstances where the received media content items include a media contentitem that is to be streamed, portions of the media content item to bestreamed can be stored temporarily on the streaming media device (e.g.,in a buffer, and/or in any other suitable location) as the media contentitem to be streamed is presented.

At 210, process 200 can receive a selection of a particular mediacontent item (e.g., one of the one or more received media content itemsdescribed above in connection with block 208, and/or any other suitableparticular media content item) to be presented on the display deviceconnected to the streaming media device. In some embodiments, process200 can receive the selection in any suitable manner. For example, insome embodiments, process 200 can receive a selection via a userinterface, as described above in connection with block 114 of FIG. 1 andFIG. 4. In some embodiments, process 200 can receive the selection via aremote control associated with the streaming media device.

At 212, process 200 can begin causing the selected media content item tobe presented on the display device. In some embodiments, process 200 cancause the selected media content item to be presented on the displaydevice in any suitable manner. For example, in some embodiments, themedia content item can be presented within a video player windowassociated with the application identified as described above inconnection with block 204. In some embodiments, process 200 can causethe selected media content item to be presented in a manner in whichplayback of the media content item can be modified in any suitablemanner. For example, in some embodiments, a viewer of the media contentitem can adjust a volume of the media content item, a playback positionof the media content item (e.g., by fast-forwarding or rewinding themedia content item, and/or in any other suitable manner), and/or modifyplayback of the media content item in any other suitable manner. In someembodiments, playback of the media content item can be modified using aremote control device associated with the streaming media device.

Note that, in some embodiments, in instances where a viewer of the mediacontent item indicates that a playback position is to be changed (e.g.,rewind the media content item, fast-forward the media content item,and/or change the playback position in any other suitable manner),process 200 can change the playback position using any suitabletechnique or combination of techniques. For example, in instances whereprocess 200 received an entirety of the media content item at block 208(e.g., in instances where the media content item was stored on themobile device and transferred fully to the streaming media device),process 200 can skip to an indicated location by identifying a requestedplayback position and causing playback to shift to the request playbackposition. As another example, in instances where process 200 isstreaming the media content item from a media content sharing and/orstreaming service, process 200 can transmit a request to the service totransmit an updated portion of the media content item based on arequested playback position (e.g., an updated portion corresponding to afuture playback position that has not yet been received by the streamingmedia device). As a more particular example, in some embodiments,process 200 can transmit the request to the service via an HTTP proxyserver executing on the mobile device.

It should be noted that, although the embodiments described hereingenerally relate to presenting media content on a media playback deviceconnected to a streaming media device without requiring a WiFi accesspoint for the streaming media device, this is merely illustrative. Forexample, an operating system executing on the streaming media device mayrequire an update file that updates the operating system. In a moreparticular example, when a mobile device and a streaming media deviceare connected (e.g., via a peer-to-peer connection), the streaming mediadevice can transmit an indication to the mobile device to check forupdates to a current version of the operating system executing on thestreaming media device when a suitable network connection is availableto the mobile device. In continuing this example, in response to anassociated mobile device having access to an update server (e.g., via aninternet connection), the mobile device can download and/or otherretrieve the update file and, in turn, can transmit the update file tothe streaming media device upon connecting with the streaming mediadevice. The streaming media device can store the update file in thememory or other suitable storage device and can execute the update filethat causes the operating system of the streaming media device to beupdated.

Turning to FIG. 5, an example 500 of hardware for presenting mediacontent that can be used in accordance with some embodiments of thedisclosed subject matter is shown. As illustrated, hardware 500 caninclude a server 502, a communication network 504, a mobile device 506,a streaming media device 508, and/or a display device 510.

Server 502 can be any suitable server(s) for storing media content,information, data, programs and/or any other suitable content. Forexample, in some embodiments, server 502 can be associated with a mediacontent streaming or sharing service and can host any suitable mediacontent items (e.g., videos, television programs, movies, audio content,and/or any other suitable type of media content items) that can beviewed on user devices. As a more particular example, in someembodiments, server 502 can transmit selected media content items to auser device, such as mobile device 506. As another example, in someembodiments, server 502 can grant permission for display device 510connected to streaming media device 508 to present a particular mediacontent item using any suitable information and/or technique(s), such asby verifying user credentials associated with a user accountcorresponding to a media content sharing or streaming service providedby server 502.

Communication network 504 can be any suitable combination of one or morewired and/or wireless networks in some embodiments. For example,communication network 504 can include any one or more of the Internet,an intranet, a wide-area network (WAN), a local-area network (LAN), awireless network, a digital subscriber line (DSL) network, a frame relaynetwork, an asynchronous transfer mode (ATM) network, a virtual privatenetwork (VPN), and/or any other suitable communication network. Mobiledevice 506 and streaming media device 508 can be connected by one ormore communications links to communication network 504 that can belinked via one or more communications links to server 502. For example,in some embodiments, mobile device 506 can be connected to server 502via a mobile network or cellular network. As another example, in someembodiments, streaming media device 508 can be connected to server 502via mobile device 506. As a more particular example, in someembodiments, streaming media device 508 can be connected to mobiledevice 506 via a peer-to-peer networking protocol (e.g., WiFi Direct,WiFi Aware, and/or any other suitable protocol), and can thereby beconnected to server 502 via a proxy server executing on mobile device506, as described in more detail in connection with FIGS. 1 and 2. Thecommunications links can be any communications links suitable forcommunicating data among mobile device 506, streaming media device 508,and server 502 such as network links, dial-up links, wireless links,hard-wired links, any other suitable communications links, or anysuitable combination of such links.

In some embodiments, mobile device 506 can be any suitable type ofmobile device, such as a mobile phone, a tablet computer, a laptopcomputer, a wearable computer, and/or any other suitable type ofcomputer.

In some embodiments, streaming media device 508 can be any suitable typeof device for storing media content and/or for causing media content tobe presented on associated display device 510. In some embodiments,streaming media device 508 can have any suitable type of storage thatcan store media content transferred to streaming media device 508 viamobile device 506. In some embodiments, streaming media device 508 canbe connected to display device 510 in any suitable manner, such as viaan HDMI connection, and/or in any other suitable manner. In someembodiments, display device 510 can be any suitable type of displaydevice, such as a television, a projector, and/or any other suitabletype of display device.

Although server 502 is illustrated as one device, the functionsperformed by server 502 can be performed using any suitable number ofdevices in some embodiments. For example, in some embodiments, multipledevices can be used to implement the functions performed by server 502.

Although one mobile device 506, one streaming media device 508, and onedisplay device 510 are shown in FIG. 5 to avoid over-complicating thefigure, any suitable number of devices, and/or any suitable types ofuser devices, can be used in some embodiments.

Server 502, mobile device 506, streaming media device 508, and/ordisplay device 510 can be implemented using any suitable hardware insome embodiments. For example, in some embodiments, devices 502 and/or506-510 can be implemented using any suitable general purpose computeror special purpose computer. For example, a mobile phone may beimplemented using a special purpose computer. Any such general purposecomputer or special purpose computer can include any suitable hardware.For example, as illustrated in example hardware 600 of FIG. 6, suchhardware can include hardware processor 602, memory and/or storage 604,an input device controller 606, an input device 608, display/audiodrivers 610, display and audio output circuitry 612, communicationinterface(s) 614, an antenna 616, and a bus 618.

Hardware processor 602 can include any suitable hardware processor, suchas a microprocessor, a micro-controller, digital signal processor(s),dedicated logic, and/or any other suitable circuitry for controlling thefunctioning of a general purpose computer or a special purpose computerin some embodiments. In some embodiments, hardware processor 602 can becontrolled by a server program stored in memory and/or storage of aserver, such as server 502. For example, in some embodiments, the serverprogram can cause hardware processor 602 to transmit a media contentitem to mobile device 506, verify user credentials to allow presentationof a media content item on display device 510, and/or perform any othersuitable functions. In some embodiments, hardware processor 602 can becontrolled by a computer program stored in memory and/or storage 604 ofstreaming media device 508. For example, the computer program can causehardware processor 602 to establish a connection to mobile device 506,receive and store media content transferred from mobile device 506,cause presentation of a selected media content item on display device510, and/or perform any other suitable functions.

Memory and/or storage 604 can be any suitable memory and/or storage forstoring programs, data, and/or any other suitable information in someembodiments. For example, memory and/or storage 604 can include randomaccess memory, read-only memory, flash memory, hard disk storage,optical media, and/or any other suitable memory.

Input device controller 606 can be any suitable circuitry forcontrolling and receiving input from one or more input devices 608 insome embodiments. For example, input device controller 606 can becircuitry for receiving input from a touchscreen, from a keyboard, fromone or more buttons, from a voice recognition circuit, from amicrophone, from a camera, from an optical sensor, from anaccelerometer, from a temperature sensor, from a near field sensor, froma pressure sensor, from an encoder, and/or any other type of inputdevice.

Display/audio drivers 610 can be any suitable circuitry for controllingand driving output to one or more display/audio output devices 612 insome embodiments. For example, display/audio drivers 610 can becircuitry for driving a touchscreen, a flat-panel display, a cathode raytube display, a projector, a speaker or speakers, and/or any othersuitable display and/or presentation devices.

Communication interface(s) 614 can be any suitable circuitry forinterfacing with one or more communication networks (e.g., computernetwork 504). For example, interface(s) 614 can include networkinterface card circuitry, wireless communication circuitry, and/or anyother suitable type of communication network circuitry.

Antenna 616 can be any suitable one or more antennas for wirelesslycommunicating with a communication network (e.g., communication network504) in some embodiments. In some embodiments, antenna 616 can beomitted.

Bus 618 can be any suitable mechanism for communicating between two ormore components 602, 604, 606, 610, and 614 in some embodiments.

Any other suitable components can be included in hardware 600 inaccordance with some embodiments.

In some embodiments, at least some of the above described blocks of theprocesses of FIGS. 1 and 2 can be executed or performed in any order orsequence not limited to the order and sequence shown in and described inconnection with the figures. Also, some of the above blocks of FIGS. 1and 2 can be executed or performed substantially simultaneously whereappropriate or in parallel to reduce latency and processing times.Additionally or alternatively, some of the above described blocks of theprocesses of FIGS. 1 and 2 can be omitted.

In some embodiments, any suitable computer readable media can be usedfor storing instructions for performing the functions and/or processesherein. For example, in some embodiments, computer readable media can betransitory or non-transitory. For example, non-transitory computerreadable media can include media such as non-transitory forms ofmagnetic media (such as hard disks, floppy disks, and/or any othersuitable magnetic media), non-transitory forms of optical media (such ascompact discs, digital video discs, Blu-ray discs, and/or any othersuitable optical media), non-transitory forms of semiconductor media(such as flash memory, electrically programmable read-only memory(EPROM), electrically erasable programmable read-only memory (EEPROM),and/or any other suitable semiconductor media), any suitable media thatis not fleeting or devoid of any semblance of permanence duringtransmission, and/or any suitable tangible media. As another example,transitory computer readable media can include signals on networks, inwires, conductors, optical fibers, circuits, any suitable media that isfleeting and devoid of any semblance of permanence during transmission,and/or any suitable intangible media.

Accordingly, methods, systems, and media for presenting media contentare provided.

Although the invention has been described and illustrated in theforegoing illustrative embodiments, it is understood that the presentdisclosure has been made only by way of example, and that numerouschanges in the details of implementation of the invention can be madewithout departing from the spirit and scope of the invention, which islimited only by the claims that follow. Features of the disclosedembodiments can be combined and rearranged in various ways.

What is claimed is:
 1. A method for presenting media content, the methodcomprising: receiving, at a streaming media device connected to adisplay device, an instruction, from a mobile phone communicativelycoupled with the streaming media device using a peer-to-peer networkingprotocol, to launch an application for presenting media content on thedisplay device; in response to receiving the instruction, transmitting arequest to a media content sharing service associated with theapplication for presenting media content to render a video player on thedisplay device; receiving, from the mobile phone, an instruction topresent a media content item on the display device using the videoplayer; transmitting, to the mobile phone, a request for a first portionof the media content item, wherein a plurality of portions of the mediacontent item including the first portion have been previously downloadedto the mobile phone; receiving, from the mobile phone, the first portionof the media content item using the peer-to-peer networking protocol;storing the first portion of the media content item in memory of thestreaming media device; and causing the first portion of the mediacontent item to be presented on the display device using the videoplayer by playing the stored first portion of the media content itemfrom the memory of the streaming media device.
 2. The method of claim 1,wherein the request to the media content sharing service is transmittedusing an HTTP proxy server executing on the mobile phone.
 3. The methodof claim 2, further comprising receiving HTTP proxy server identifierinformation from the mobile phone and connecting to the HTTP proxyserver executing on the mobile phone prior to receiving the instructionto launch the application.
 4. The method of claim 1, wherein thepeer-to-peer networking protocol is a wireless fidelity (WiFi) directprotocol.
 5. The method of claim 1, wherein the instruction to presentthe media content item is received via a selection of an indication ofthe media content item via a user interface presented on the displaydevice, wherein the user interface presents indications of a pluralityof media content items previously downloaded to the mobile phone thatare available for presentation on the display device.
 6. The method ofclaim 1, further comprising determining an amount of storage spaceavailable in the memory of the streaming media device, wherein the firstportion of the media content item is inhibited from being stored in thememory of the streaming media device based on the determination.
 7. Themethod of claim 1, further comprising: transmitting an instruction tothe mobile phone to retrieve an update file corresponding to anoperating system executing on the streaming media device; receiving,from the mobile phone, the update file using the peer-to-peer networkingprotocol; storing the update file in the memory of the streaming mediadevice; and executing the update file from the memory of the streamingmedia device that causes the operating system of the streaming mediadevice to be updated.
 8. A system for presenting media content, thesystem comprising: a memory; and a hardware processor of a streamingmedia device that is configured to: receive, at the streaming mediadevice connected to a display device, an instruction, from a mobilephone communicatively coupled with the streaming media device using apeer-to-peer networking protocol, to launch an application forpresenting media content on the display device; in response to receivingthe instruction, transmit a request to a media content sharing serviceassociated with the application for presenting media content to render avideo player on the display device; receive, from the mobile phone, aninstruction to present a media content item on the display device usingthe video player; transmit, to the mobile phone, a request for a firstportion of the media content item, wherein a plurality of portions ofthe media content item including the first portion have been previouslydownloaded to the mobile phone; receive, from the mobile phone, thefirst portion of the media content item using the peer-to-peernetworking protocol; store the first portion of the media content itemin the memory of the streaming media device; and cause the first portionof the media content item to be presented on the display device usingthe video player by playing the stored first portion of the mediacontent item from the memory of the streaming media device.
 9. Thesystem of claim 8, wherein the request to the media content sharingservice is transmitted using an HTTP proxy server executing on themobile phone.
 10. The system of claim 9, wherein the hardware processoris further configured to receive HTTP proxy server identifierinformation from the mobile phone and connecting to the HTTP proxyserver executing on the mobile phone prior to receiving the instructionto launch the application.
 11. The system of claim 8, wherein thepeer-to-peer networking protocol is a wireless fidelity (WiFi) directprotocol.
 12. The system of claim 8, wherein the instruction to presentthe media content item is received via a selection of an indication ofthe media content item via a user interface presented on the displaydevice, wherein the user interface presents indications of a pluralityof media content items previously downloaded to the mobile phone thatare available for presentation on the display device.
 13. The system ofclaim 8, wherein the hardware processor is further configured todetermine an amount of storage space available in the memory of thestreaming media device, wherein the first portion of the media contentitem is inhibited from being stored in the memory of the streaming mediadevice based on the determination.
 14. The system of claim 8, whereinthe hardware processor is further configured to: transmit an instructionto the mobile phone to retrieve an update file corresponding to anoperating system executing on the streaming media device; receive, fromthe mobile phone, the update file using the peer-to-peer networkingprotocol; store the update file in the memory of the streaming mediadevice; and execute the update file from the memory of the streamingmedia device that causes the operating system of the streaming mediadevice to be updated.
 15. A non-transitory computer-readable mediumcontaining computer executable instructions that, when executed by aprocessor, cause the processor to perform a method for presenting mediacontent, the method comprising: receiving, at a streaming media deviceconnected to a display device, an instruction, from a mobile phonecommunicatively coupled with the streaming media device using apeer-to-peer networking protocol, to launch an application forpresenting media content on the display device; in response to receivingthe instruction, transmitting a request to a media content sharingservice associated with the application for presenting media content torender a video player on the display device; receiving, from the mobilephone, an instruction to present a media content item on the displaydevice using the video player; transmitting, to the mobile phone, arequest for a first portion of the media content item, wherein aplurality of portions of the media content item including the firstportion have been previously downloaded to the mobile phone; receiving,from the mobile phone, the first portion of the media content item usingthe peer-to-peer networking protocol; storing the first portion of themedia content item in memory of the streaming media device; and causingthe first portion of the media content item to be presented on thedisplay device using the video player by playing the stored firstportion of the media content item from the memory of the streaming mediadevice.
 16. The non-transitory computer-readable medium of claim 15,wherein the request to the media content sharing service is transmittedusing an HTTP proxy server executing on the mobile phone.
 17. Thenon-transitory computer-readable medium of claim 16, wherein the methodfurther comprises receiving HTTP proxy server identifier informationfrom the mobile phone and connecting to the HTTP proxy server executingon the mobile phone prior to receiving the instruction to launch theapplication.
 18. The non-transitory computer-readable medium of claim15, wherein the peer-to-peer networking protocol is a wireless fidelity(WiFi) direct protocol.
 19. The non-transitory computer-readable mediumof claim 15, wherein the instruction to present the media content itemis received via a selection of an indication of the media content itemvia a user interface presented on the display device, wherein the userinterface presents indications of a plurality of media content itemspreviously downloaded to the mobile phone that are available forpresentation on the display device.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the method furthercomprises determining an amount of storage space available in the memoryof the streaming media device, wherein the first portion of the mediacontent item is inhibited from being stored in the memory of thestreaming media device based on the determination.
 21. Thenon-transitory computer-readable medium of claim 15, wherein the methodfurther comprises: transmitting an instruction to the mobile phone toretrieve an update file corresponding to an operating system executingon the streaming media device; receiving, from the mobile phone, theupdate file using the peer-to-peer networking protocol; storing theupdate file in the memory of the streaming media device; and executingthe update file from the memory of the streaming media device thatcauses the operating system of the streaming media device to be updated.